JaVis: A UML-Based Visualization and Debugging Environment for Concurrent Java Programs

نویسنده

  • Katharina Mehner-Heindl
چکیده

Debugging concurrent Java programs is a difficult task because of multiple control flows and inherent nondeterminism. It requires techniques not provided by traditional debuggers such as tracing, visualization, and automated error analysis. Therefore, we have developed the JaVis environment for visualizing and debugging concurrent Java programs. The information about a running program is collected by tracing. The Unified Modeling Language (UML) is used for the visualization of traces. Traces are automatically analyzed for deadlocks. The tracing is implemented using the Java Debug Interface (JDI) of the Java Platform Debugger Architecture. The visualization is integrated into the UML CASE tool Together.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Trace based debugging and visualisation of concurrent Java programs with UML

This thesis describes an approach for automated detection of concurrent liveness failures in the execution of Java programs. Concurrent programs are highly prone to failure because of the inherent nondeterminism. Developers of concurrent Java programs are not well supported in detecting concurrency failures, i.e. failures that are due to interactions between multiple threads. These failures are...

متن کامل

Visualizing the Synchronization of Java-Threads with UML

Concurrent programming is a complex task, even with modern languages such as Java who provide languagebased support for multithreading and synchronization. In addition to typical errors from sequential programming concurrent programming is prone to security and lifeness errors, which are difficult to detect due to the inherent nondeterminism in concurrent programs. While debugging is still main...

متن کامل

Multithreaded Dependence Graphs for Concurrent Java Programs

Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. In this paper, we present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concur...

متن کامل

JACOT: a tool to dynamically visualise the execution of concurrent Java programs

The introduction of concurrency within emerging languages such as Java brings challenging new concepts to the user. Owing to the inherent non-determinism of threads and multiple flow of control in concurrent programs, traditional debugging and comprehension techniques, such as source code analysis, do not suffice. We believe that visualisation can assist in expediting comprehension of concurren...

متن کامل

An Overview of the Indus Framework for Analysis and Slicing of Concurrent Java Software

Program slicing is a program analysis and transformation technique that has been successfully applied in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only a few full-featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001